#ifndef NF_SOCS_CONFIG_H
#define NF_SOCS_CONFIG_H
#include "socs/comm/constants.h"

struct socs_config_t {
	char csDomain[CSSIZE];
	char hostname[HOSTNAMESIZE];
	unsigned int tmHello;
	unsigned int tmDead;
	unsigned int tmStable;
	struct in6_addr mcIP6;
	struct in_addr mcIP4;
};

int config_init(const char *csDomain, const char *hostname,
				unsigned int tmHello, unsigned int tmDead, unsigned int tmStable,
				const char *mcIP4, const char *mcIP6);
void config_destroy(void);
int config_update_csDomain(const char *csdomain);
int config_update_hostname(const char *hostname);
int config_update_tmHello(unsigned int tmhello);
int config_update_tmDead(unsigned int tmdead);
int config_update_tmStable(unsigned int tmstable);
int config_update_mcIP4(struct in_addr mcip4);
int config_update_mcIP6(struct in6_addr mcip6);
int socs_config_get(int key, void *result);

#endif
